// ==========================================================================
// Mixins
// ==========================================================================

// Contain floats: nicolasgallagher.com/micro-clearfix-hack/
// ---------------------------------------
.clearfix() {
    zoom: 1;
    &:before, 
    &:after { content: ""; display: table; }
    &:after { clear: both; }
}

// Webkit-style focus
// ---------------------------------------
.tab-focus() {
    // Default
    outline: thin dotted @gray-dark;
    // Webkit
    outline-offset: 1px;
}

// Use rems for font sizing
// Leave <body> at 100%/16px
// ---------------------------------------
.font-size(@font-size: 16){
    @rem: round((@font-size / 16), 3);
    font-size: (@font-size * 1px);
    font-size: ~"@{rem}rem";
}

// Font smoothing
// ---------------------------------------
.font-smoothing(@mode: on) when (@mode = on) {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}
.font-smoothing(@mode: on) when (@mode = off) {
    -moz-osx-font-smoothing: auto;
    -webkit-font-smoothing: subpixel-antialiased;
}